package cn.zqy.demo2.day08.File;


import java.io.File;

/**
 *  File类判断功能3种方法：
 *         - 1.public boolean exists() ：此File表示的文件或目录是否实际存在。
 *         - 2.public boolean isDirectory() ：此File表示的是否为目录。
 *         - 3.public boolean isFile() ：此File表示的是否为文件。
 * */
public class Demo04BooleanFile {
    public static void main(String[] args) {
        //  1.public boolean exists() ：此File表示的【文件或目录】是否实际存在。
        File f1 = new File("E:\\Javaspace\\learnJava\\src\\cn\\zqy\\demo2\\day08");
        File f2 = new File("E:\\Javaspace\\learnJava\\src\\cn\\zqy\\demo2\\day");
        System.out.println(f1.exists()); // true
        System.out.println(f2.exists());  // false
        // 绝对路径
        File f3 = new File("E:\\Javaspace\\learnJava\\src\\cn\\zqy\\demo2\\day08\\File\\Demo01File.java");
        System.out.println(f3.exists());  // true

        // 相对路径【相当项目的路径】和src同路径
        File f4 = new File("readme.md");
        System.out.println(f4.exists());  // true
        System.out.println("=========");

        /*
        * 2.public boolean isDirectory() ：此File表示的是否为目录。
        * 3.public boolean isFile() ：此File表示的是否为文件。
        *   电脑的硬盘中只有文件/文件夹,两个方法是互斥
            这两个方法使用前提,路径必须是存在的,否则都返回false
        */
        File f5 = new File("E:\\Javaspace\\learnJava\\src\\cn\\zqy\\demo2\\day08");
        File f6 = new File("readme.md");
        //不存在,就没有必要获取
        if (f5.exists()) {
            System.out.println(f5.isDirectory());  //true
            System.out.println(f5.isFile());   //false
        }
        if (f6.exists()) {
            System.out.println(f6.isDirectory());  //false
            System.out.println(f6.isFile());  //true
        }



        // 相对路径
        File f7 = new File("src\\cn\\zqy\\demo2");
        System.out.println(f7.exists());
    }
}
